package com.myway.dto.order;

import com.myway.dto.order.domain.OrderStatus;
import com.myway.dto.order.domain.PassengerType;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.Map;


/**
 * @类名称：DTOOrderCriteria 
 * @类描述：订单查询条件 
 * @创建时间：2015年11月11日 下午7:50:20 
 * @author Jiang.Yida
 * @version V1.0
 */
public class DTOOrderCriteria implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 7519014553701785747L;
	
	/**
	 * 未注册用户手机号
	 */
	String mobile;
	/**
	 * id: 订单ID
	 */
	private Long id;
	/**
	 * 订单号,支持模糊查询
	 */
	private String orderNo;
	/**
	 * 补购订单号
	 */
	private String orderExtNo;
	/**
	 * 支付流水
	 */
	private String paymentNo;
	/**
	 * 证件号
	 */
	private String certificateNo;
	
	/**
	 * 旅客姓名，完全匹配
	 */
	private String paxName;
	/**
	 * 旅客联系方式
	 */
	private String paxMobile;
	
	private PassengerType passengerType;
	
	private OrderStatus status;
	
	private String depCode;
	
	private String arrCode;
	
	private Date flightDateStart;
	
	private Date flightDateEnd;
	
	/**
	 * pnrNo: PNR
	 */
	private String pnrNo;
	
	private Date createDateStart;
	
	private Date createDateEnd;
	
	private long userId;
	
	private long agentId;
	
	private String issCode;
	
	/**
	 * ticketNo: 客票编号
	 */
	private String ticketNo;
	private String source;//added by st-zuo 添加订单来源
	
	private String contactName;
	private String contactTel;
	private String contactMobile;
	/**
	 * ~~~~~~~~~~-------------------
	 * 支持模糊查询
	 * ~~~~~~~~~~-------------------
	 */
	private String flightNo;
	
	/**
	 * office No......
	 * 
	 * for agent auto append this to criteria
	 * 
	 */
	private String officeNo;
	
	/**
	 * 
	 * 订单时间，小时，分钟 
	 * 
	 */
	private String orderTimeHour1;
	private String orderTimeHour2;
	private String orderTimeMin1;
	private String orderTimeMin2;
	/**
	 * 查询所有系统订单
	 */
	private boolean searchAllOrders=false;
	
	private boolean onlySearchLocal=false;
	
	/**
	 * 
	 * 散客自动补全用户名
	 * 
	 */
	private String userName;
	/**
	 * 
	 * 用户登录账号
	 * 
	 */
	private String loginId;
	
	/**
	 * 产品类型
	 */
	 private String productCode;
	
	/**
	 * 当前页号 例如（第1页/共20页）则 currentPageNum 为 1
	 */
	private int currentPageNum=1;
	
	/**
	 * 每页记录数
	 */
	private int pageSize=10;
	
	/**
	 * 每页记录数
	 */
	private Map sortValueMap;
	
	//优惠券Order
	private String couponNo;//优惠券号码
	private BigDecimal onSaleAmount;//优惠总额
	private BigDecimal quotaValue;//消费限额
	private String couponType;//优惠券类型 
	
	/**
	 * doQueryRecentFive: 前5条 
	 */
	private boolean doQueryRecentFive;
	
	private String fixStatus;//**差错异常订单处理标记
	private Date payStartTime;//支付时间段起始
	private Date payEndTime;//支付时间段结束
	private String   international ;//是否国际票订单,0非国际，1国际票订单
	/**
	 * 排序字段
	 */
	
	//订单查询开始时间
    private Date orderCreateDateStart;
    //订单查询结束时间
	private Date orderCreateDateEnd;
	
	private Map<String,String> descName;
	
	
	public Map<String,String> getDescName() {
		return descName;
	}

	public void setDescName(Map<String,String> descName) {
		this.descName = descName;
	}

	public Map getSortValueMap() {
		return sortValueMap;
	}

	public void setSortValueMap(Map sortValueMap) {
		this.sortValueMap = sortValueMap;
	}

	/**
	 * @return the pageSize
	 */
	public int getPageSize() {
		return pageSize;
	}

	/**
	 * @param pageSize the pageSize to set
	 */
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}


	/**
	 * @return the orderNo
	 */
	public String getOrderNo() {
		return this.orderNo;
	}

	/**
	 * @param orderNo the orderNo to set
	 */
	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	/**
	 * @return the paxName
	 */
	public String getPaxName() {
		return this.paxName;
	}

	/**
	 * @param paxName the paxName to set
	 */
	public void setPaxName(String paxName) {
		this.paxName = paxName;
	}

	/**
	 * @return the status
	 */
	public OrderStatus getStatus() {
		return this.status;
	}

	/**
	 * @param status the status to set
	 */
	public void setStatus(OrderStatus status) {
		this.status = status;
	}

	/**
	 * @return the depCode
	 */
	public String getDepCode() {
		return this.depCode;
	}

	/**
	 * @param depCode the depCode to set
	 */
	public void setDepCode(String depCode) {
		this.depCode = depCode;
	}

	/**
	 * @return the arrCode
	 */
	public String getArrCode() {
		return this.arrCode;
	}

	/**
	 * @param arrCode the arrCode to set
	 */
	public void setArrCode(String arrCode) {
		this.arrCode = arrCode;
	}

	/**
	 * @return the flightDateStart
	 */
	public Date getFlightDateStart() {
		return this.flightDateStart;
	}

	/**
	 * @param flightDateStart the flightDateStart to set
	 */
	public void setFlightDateStart(Date flightDateStart) {
		this.flightDateStart = flightDateStart;
	}

	/**
	 * @return the flightDateEnd
	 */
	public Date getFlightDateEnd() {
		return this.flightDateEnd;
	}

	/**
	 * @param flightDateEnd the flightDateEnd to set
	 */
	public void setFlightDateEnd(Date flightDateEnd) {
		this.flightDateEnd = flightDateEnd;
	}

	/**
	 * @return the pnrNo
	 */
	public String getPnrNo() {
		return this.pnrNo;
	}

	/**
	 * @param pnrNo the pnrNo to set
	 */
	public void setPnrNo(String pnrNo) {
		this.pnrNo = pnrNo;
	}

	/**
	 * @return the createDateStart
	 */
	public Date getCreateDateStart() {
		return this.createDateStart;
	}

	/**
	 * @param createDateStart the createDateStart to set
	 */
	public void setCreateDateStart(Date createDateStart) {
		this.createDateStart = createDateStart;
	}

	/**
	 * @return the createDateEnd
	 */
	public Date getCreateDateEnd() {
		return this.createDateEnd;
	}

	/**
	 * @param createDateEnd the createDateEnd to set
	 */
	public void setCreateDateEnd(Date createDateEnd) {
		this.createDateEnd = createDateEnd;
	}

	/**
	 * @return the flightNo
	 */
	public String getFlightNo() {
		return this.flightNo;
	}

	/**
	 * @param flightNo the flightNo to set
	 */
	public void setFlightNo(String flightNo) {
		this.flightNo = flightNo;
	}

	/**
	 * @return the officeNo
	 */
	public String getOfficeNo() {
		return this.officeNo;
	}

	/**
	 * @param officeNo the officeNo to set
	 */
	public void setOfficeNo(String officeNo) {
		this.officeNo = officeNo;
	}

	/**
	 * @return the userName
	 */
	public String getUserName() {
		return this.userName;
	}

	/**
	 * @param userName the userName to set
	 */
	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * @return the userId
	 */
	public long getUserId() {
		return this.userId;
	}

	/**
	 * @param userId the userId to set
	 */
	public void setUserId(long userId) {
		this.userId = userId;
	}

	/**
	 * @return the agentId
	 */
	public long getAgentId() {
		return this.agentId;
	}

	/**
	 * @param agentId the agentId to set
	 */
	public void setAgentId(long agentId) {
		this.agentId = agentId;
	}

	/**
	 * @return the currentPageNum
	 */
	public int getCurrentPageNum() {
		return currentPageNum;
	}

	/**
	 * @param currentPageNum the currentPageNum to set
	 */
	public void setCurrentPageNum(int currentPageNum) {
		this.currentPageNum = currentPageNum;
	}

	public String getIssCode() {
		return issCode;
	}

	public void setIssCode(String issCode) {
		this.issCode = issCode;
	}

	public String getTicketNo() {
		return ticketNo;
	}

	public void setTicketNo(String ticketNo) {
		this.ticketNo = ticketNo;
	}

	/**
	 * @return the searchAllOrders
	 */
	public boolean isSearchAllOrders() {
		return this.searchAllOrders;
	}

	/**
	 * @param searchAllOrders the searchAllOrders to set
	 */
	public void setSearchAllOrders(boolean searchAllOrders) {
		this.searchAllOrders = searchAllOrders;
	}

	public boolean isOnlySearchLocal() {
		return onlySearchLocal;
	}

	public void setOnlySearchLocal(boolean onlySearchLocal) {
		this.onlySearchLocal = onlySearchLocal;
	}

	public String getLoginId() {
		return loginId;
	}

	public void setLoginId(String loginId) {
		this.loginId = loginId;
	}

	public String getOrderTimeHour1() {
		return orderTimeHour1;
	}

	public void setOrderTimeHour1(String orderTimeHour1) {
		this.orderTimeHour1 = orderTimeHour1;
	}

	public String getOrderTimeHour2() {
		return orderTimeHour2;
	}

	public void setOrderTimeHour2(String orderTimeHour2) {
		this.orderTimeHour2 = orderTimeHour2;
	}

	public String getOrderTimeMin1() {
		return orderTimeMin1;
	}

	public void setOrderTimeMin1(String orderTimeMin1) {
		this.orderTimeMin1 = orderTimeMin1;
	}

	public String getOrderTimeMin2() {
		return orderTimeMin2;
	}

	public void setOrderTimeMin2(String orderTimeMin2) {
		this.orderTimeMin2 = orderTimeMin2;
	}


	public String getProductCode() {
		return productCode;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}


	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	public String getPaymentNo() {
		return paymentNo;
	}

	public void setPaymentNo(String paymentNo) {
		this.paymentNo = paymentNo;
	}

	public String getCertificateNo() {
		return certificateNo;
	}

	public void setCertificateNo(String certificateNo) {
		this.certificateNo = certificateNo;
	}

	public String getSource() {
		return source;
	}

	public void setSource(String source) {
		this.source = source;
	}

	public String getCouponNo() {
		return couponNo;
	}

	public void setCouponNo(String couponNo) {
		this.couponNo = couponNo;
	}

	public BigDecimal getOnSaleAmount() {
		return onSaleAmount;
	}

	public void setOnSaleAmount(BigDecimal onSaleAmount) {
		this.onSaleAmount = onSaleAmount;
	}

	public BigDecimal getQuotaValue() {
		return quotaValue;
	}

	public void setQuotaValue(BigDecimal quotaValue) {
		this.quotaValue = quotaValue;
	}

	/**
	 * 优惠券类型
	 * @return
	 */
	public String getCouponType() {
		return couponType;
	}

	public void setCouponType(String couponType) {
		this.couponType = couponType;
	}

	public boolean isDoQueryRecentFive() {
		return doQueryRecentFive;
	}

	public void setDoQueryRecentFive(boolean doQueryRecentFive) {
		this.doQueryRecentFive = doQueryRecentFive;
	}

	public String getContactName() {
		return contactName;
	}

	public void setContactName(String contactName) {
		this.contactName = contactName;
	}

	public String getContactTel() {
		return contactTel;
	}

	public void setContactTel(String contactTel) {
		this.contactTel = contactTel;
	}

	public String getContactMobile() {
		return contactMobile;
	}

	public void setContactMobile(String contactMobile) {
		this.contactMobile = contactMobile;
	}

	public String getFixStatus() {
		return fixStatus;
	}

	public void setFixStatus(String fixStatus) {
		this.fixStatus = fixStatus;
	}

	public Date getPayStartTime() {
		return payStartTime;
	}

	public void setPayStartTime(Date payStartTime) {
		this.payStartTime = payStartTime;
	}

	public Date getPayEndTime() {
		return payEndTime;
	}

	public void setPayEndTime(Date payEndTime) {
		this.payEndTime = payEndTime;
	}

	public String getInternational() {
		return international;
	}

	public void setInternational(String international) {
		this.international = international;
	}

	public PassengerType getPassengerType() {
		return passengerType;
	}

	public void setPassengerType(PassengerType passengerType) {
		this.passengerType = passengerType;
	}

	public Date getOrderCreateDateStart() {
		return orderCreateDateStart;
	}

	public void setOrderCreateDateStart(Date orderCreateDateStart) {
		this.orderCreateDateStart = orderCreateDateStart;
	}

	public Date getOrderCreateDateEnd() {
		return orderCreateDateEnd;
	}

	public void setOrderCreateDateEnd(Date orderCreateDateEnd) {
		this.orderCreateDateEnd = orderCreateDateEnd;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getPaxMobile() {
		return paxMobile;
	}

	public void setPaxMobile(String paxMobile) {
		this.paxMobile = paxMobile;
	}

	public String getOrderExtNo() {
		return orderExtNo;
	}

	public void setOrderExtNo(String orderExtNo) {
		this.orderExtNo = orderExtNo;
	}
	
}
